Wildcards need witness protection
نویسندگان
چکیده
In this paper, we show that the unsoundness discovered by Amin and Tate (2016) in Java’s wildcards is avoidable, even absence of a nullness-aware type system. The key insight paper soundness systems implicitly introduce existential types through subtyping hinges on still making sure there are suitable witness when introducing existentially quantified variables. To approach viable, formalizes core calculus proves it sound. We used static analysis based our to look for potential issues vast corpus Java code found none (with 1 false positive). This confirms both Java's has minimal practical consequence, can avoid entirely with positives.
منابع مشابه
Causal Inference through a Witness Protection Program
One of the most fundamental problems in causal inference is the estimation of a causal effect when treatment and outcome are confounded. This is difficult in an observational study, because one has no direct evidence that all confounders have been adjusted for. We introduce a novel approach for estimating causal effects that exploits observational conditional independencies to suggest “weak” pa...
متن کاملCompressed Text Indexing with Wildcards
Let T = T1φ 1T2φ k2 · · ·φdTd+1 be a text of total length n, where characters of each Ti are chosen from an alphabet Σ of size σ, and φ denotes a wildcard symbol. The text indexing with wildcards problem is to index T such that when we are given a query pattern P , we can locate the occurrences of P in T efficiently. This problem has been applied in indexing genomic sequences that contain singl...
متن کاملMulti-pattern Matching with Wildcards
Multi-pattern matching with wildcards is to find all the occurrences of a set of patterns with wildcards in a text. This problem arises in various fields, such as computational biology and network security. But the problem is not extensively studied as the single pattern case and there is no efficient algorithm for this problem. In this paper, we present efficient algorithms based on the fast F...
متن کاملEvolvable Behavior Specifications Using Context-Sensitive Wildcards
The development and maintenance of today’s software systems is an increasingly effort-consuming and error-prone task. A major cause of the effort and errors is the lack of human-readable and formal documentation of software design. In practice, software design is often informally documented, or not documented at all. Therefore, (a) the design cannot be properly communicated between software eng...
متن کاملJava Type Unification with Wildcards
With the introduction of Java 5.0 the type system has been extended by parameterized types, type variables, type terms, and wildcards. As a result very complex types can arise. The term Vector>> is for example a correct type in Java 5.0. In this paper we present a type unification algorithm for Java 5.0 type terms. The algorithm unifies type terms, which a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2022
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3563301